require(['./config'],() => {
	require(['swiper','template','request','bootstrap','header','footer','zoom'],(Swiper,template,req) => {
		class Detail{
			constructor() {
			    this.getProdId()
				// this.init()
				// this.initzoom()
				// this.ddd()
			}	
					
				// 初始化swiper
			init(){
				// 初始化swiper
				// console.log(123)
				var mySwiper = new Swiper('.swiper-container',{
				 direction : 'horizontal',
				 loop: true, // 循环模式选项
				 // autoplay:true;
				  pagination :{
					el: '.swiper-pagination',
					// clickable :true,
				  },
				   // 如果需要前进后退按钮
					  navigation: {
						nextEl: '.swiper-button-next',
						prevEl: '.swiper-button-prev',
					  }
				})
				// // console.log(mySwiper)
							
				// $('.swiper-pagination-bullet').mouseover(function(){
				// 	this.click();
				// })										
			}
			
			// 获取地址栏ID
			getProdId(){
				const str = window.location.search.split('=')[1]
				// console.log(str)
				// console.log(window)
				this.getData(str)
			}
			
			// 发送请求获取详情页数据
			getData(prodId){
				// console.log(prodId)
				req.getDetailsData(prodId)
					.then(res => {
						// console.log(res)
						if(res.code === 200){
							// 渲染页面
							// console.log(res)
							const { detail } = res.data
							this.renderHtml(detail)
							this.init()
						}
					})
			}
			// 渲染页面
			renderHtml(res){
				// console.log(res)
				// descContentList商品详情
				// id是我们的商品id
				const { descContentList,id,photo,title, price,saleNum} = res
				// console.log(title)
				$('.box').html(template('prodDetailTemplate',{descContentList,id,photo,title,price,saleNum}))
				this.initzoom()
				this.addToCar({id, photo, title, price, saleNum})
			}
			// 放大镜
			initzoom(){
				// console.dir($)
				// console.log(222)
				$(".zoom-image").elevateZoom({
					gallery:'thumbslist'
				})
			}
			
			// 添加到购物车
			addToCar(prodInfo){
				const {id, photo, title, price, saleNum} =prodInfo
				// 给购物车按钮绑定点击事件
				$('.add-shoppingCar').click(() => {
					let prodList = localStorage.getItem('prodList')
					// console.log(prodList)
					if(prodList){
						prodList = JSON.parse(prodList)
						// 有这条数据
						// 没有这一条商品信息 往这个数组里面加一条商品信息
						// 有这一条商品信息 让这条数据count + 1
						const flag = prodList.some(item => {
							return item.id === id
						})
						if(flag){
							// 代表有这条商品数据
							prodList.forEach(item => {
								item.id === id ? item.count++ : ''
							})
						}else{
							// 代表没有这条商品数据
							prodList.push({
										id,
										imgSrc:photo[0].url,
										title,
										price,
										saleNum,
										count:$('.text-count').val() - 0,
										isChecked:true
									})
						}
						// 重新保存一下数据
						localStorage.setItem('prodList',JSON.stringify(prodList))
					}else{
						// 没有这条数据
						const arr = [{id,imgSrc:photo[0].url,title,price,saleNum,count:$('.text-count').val() - 0,isChecked:true}]
						// console.log(arr)
						
						// 放到localStorage里面
						localStorage.setItem('prodList',JSON.stringify(arr))
					}
					
					$('.tip').fadeIn(500, () => {
						setTimeout(() => {
							$('.tip').fadeOut(500)
						},500)
					})
				})
				
			}
				
		}
		return new Detail()
	})
})